package shuangzu.top.zzurla.utils;

import org.json.JSONArray;
import org.json.JSONObject;
import shuangzu.top.zzurla.entities.entity_bulletin;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

public class utils_jsonstring {
    public ArrayList<entity_bulletin> parseJSONWithJSONObject_bulletin(String jsonData){
        ArrayList<entity_bulletin> eb = null;
        try {
            //将json字符串jsonData装入JSON数组，即JSONArray
            //jsonData可以是从文件中读取，也可以从服务器端获得
            JSONArray jsonArray = new JSONArray(jsonData);
            for (int i = 0; i< jsonArray.length(); i++) {
                //循环遍历，依次取出JSONObject对象
                //用getInt和getString方法取出对应键值
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                eb.add(new entity_bulletin(jsonObject.getInt("bull_id"),jsonObject.getString("bull_title"),jsonObject.getString("bull_pubulisher_id"),jsonObject.getString("bull_published_date"),jsonObject.getString("bull_tags"),jsonObject.getString("bulll_img"),jsonObject.getString("bull_markdown_path")));
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return eb;
    }

    public static Date longToDate(long currentTime, String formatType)
            throws ParseException {
        Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
        String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string
        Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型
        return date;
    }

    // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
    // data Date类型的时间
    public static String dateToString(Date data, String formatType) {
        return new SimpleDateFormat(formatType).format(data);
    }

    // strTime要转换的string类型的时间，formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
    // HH时mm分ss秒，
    // strTime的时间格式必须要与formatType的时间格式相同
    public static Date stringToDate(String strTime, String formatType)
            throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat(formatType);
        Date date = null;
        date = formatter.parse(strTime);
        return date;
    }


}
